git checkout
$ git checkout branch_A
(working tree cleanの状態なら) 'branch_A'にブランチを変更する
$ git checkout revision_no
detached head状態となる
↑の状態については詳しくないが、気持ち的には一時的なブランチに移動したような状態(つまり元いたブランチではない)
一時的なブランチにいるような状態なので
git checkout branch_name で違うブランチにいける(detached head状態から抜けられる)
一時的なブランチにコミットもできる
git checkout -b new_branch_name で新たなブランチを作り一時的なブランチだったものを普通のブランチにできる
revision_noとは
コミットごとにつけれるID番号(sha1のハッシュ値)
$ git checkout origin/branch_name
でもdetached head状態となる
参考